


const koa =require('koa');
const serve =require('koa-static');
const IO =require( 'koa-socket')
const path =require( 'path')
// const cors =require( 'koa2-cors');

// WebSocket
const app = new koa();
const io = new IO()
io.attach(app)

const PORT = 9008; //服务端分配端口，需与nginx配置保持一致
const ROOT = 'dist'; //静态资源根目录


app._io.on('connection', sock => {

    console.log("\n sock-----> \n Websocket 连接成功", "\n\n")

    // 告诉客户端连接成功
    app._io.emit("connect success")

    // 断开连接
    sock.on('disconnect', function () {
        console.log(' 用户已经断开连接了 \n\n');
    });

    sock.on('client msg', function (msg) {

        console.log('接收到消息---->: ', msg, "\n\n");

        // 触发客户端消息
        app._io.emit('server msg', msg);

    });

    // 监听另一个客户端发来的系统消息
    sock.on('push msg', function (msg) {

        console.log('系统消息---->: ', msg, "\n\n");

        // 触发客户端消息
        app._io.emit('system msg', msg);

    });

})

app.use(serve(path.join(__dirname, '/dist')))
    // .use(cors())
    .listen(PORT, function () {
        console.log(`\n\nlistening on *:${PORT}\n\n`);
    });